package com.service;

  // 此接口支持发送验证码短信、订单通知短信；
  // 调试期间，请使用测试专用短信模板：您的验证码是：1234。请不要把验证码泄露给其他人；
  // 请求参数中的account和password分别为 APIID、APIKEY，请在本页面上方处获取。
  
  import java.io.IOException;
  import com.vo.*;
  import org.apache.commons.httpclient.HttpClient;
  import org.apache.commons.httpclient.HttpException;
  import org.apache.commons.httpclient.NameValuePair;
  import org.apache.commons.httpclient.methods.PostMethod;
  import org.dom4j.Document;   
  import org.dom4j.DocumentException;
  import org.dom4j.DocumentHelper;   
  import org.dom4j.Element;
  import org.junit.runner.Result;
  import org.springframework.stereotype.Controller;
  import com.util.StringUtil;
@Controller
public class Sendsms {
    
    private  String Url = "http://106.ihuyi.com/webservice/sms.php?method=Submit";
    
    public SmsBean getsms(String number) {
      
      HttpClient client = new HttpClient(); 
      PostMethod method = new PostMethod(Url);
  
      client.getParams().setContentCharset("utf-8");
      method.setRequestHeader("ContentType","application/x-www-form-urlencoded;charset=utf-8");
  
      int mobile_code = (int)((Math.random()*9+1)*100000);
  
      String content = new String("您的验证码是：" + mobile_code + "。请不要把验证码泄露给其他人。");
  
      NameValuePair[] data = {//提交短信
            new NameValuePair("account", "C22739945"), //查看用户名 登录用户中心->验证码通知短信>产品总览->API接口信息->APIID
            new NameValuePair("password", "5b480aec89385827ca39cd855b301fcb"), //查看密码 登录用户中心->验证码通知短信>产品总览->API接口信息->APIKEY
            //new NameValuePair("password", util.StringUtil.MD5Encode("密码")),
            new NameValuePair("mobile", number), 
            new NameValuePair("content", content),
      };
      method.setRequestBody(data);
  
      try {
        client.executeMethod(method);
        
        String SubmitResult =method.getResponseBodyAsString();
  
        //System.out.println(SubmitResult);
  
        Document doc = DocumentHelper.parseText(SubmitResult);
        Element root = doc.getRootElement();
  
        Integer code = Integer.parseInt(root.elementText("code"));
        String msg = root.elementText("msg");
        String smsid = root.elementText("smsid");
        System.out.println(code);
        System.out.println(msg);
        System.out.println(smsid);
        System.err.println(mobile_code);
        return new SmsBean(true,code,msg,mobile_code);
      
         
      } catch (HttpException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return new SmsBean(false,1,"失败",mobile_code);
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return new SmsBean(false,1,"失败",mobile_code);
      } catch (DocumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return new SmsBean(false,1,"失败",mobile_code);
      }
	
    }
    
  }